run_iter param.json
run_param.json
训练设置(网络结构、优化器)、探索设置(lammps 设置、选点策略)以及标记设置(VASP/PWmat 自洽计算设置)。
参数列表
reserve_work
是否保留临时工作目录,默认值为 false
,每轮次主动学习执行结束之后,自动删除临时工作目录。
reserve_md_traj
是否保留 md 运行轨迹,默认值为 false
,每轮次主动学习执行结束之后,自动删除 md 运行轨迹文件。
reserve_scf_files
是否保留自洽计算的所有结果文件,默认值为 false
,设置为 false
之后,每轮次主动学习结束之后,对于 PWMAT 自洽计算,只保留 REPORT
, etot.input
,OUT.MLMD
, atom.config
四个文件,对于 VASP 只保留 OUTCAR
, POSCAR
, INCAR
三个文件。
init_data
初始训练集所在目录,为 list 格式。可以是绝对路径或者相对路径(当前目录)。
train
模型训练参数,用于指定模型网络结构、优化器。详细的参数设置参考 PWMLFF文档
。您可以如例子中所示设置训练的全部参数,也可以使用单独的 json 文件,只需要在参数 train_input_file
中指定训练的 json 文件所在路径即可。
train_input_file
可选参数,如果您有单独的 PWMLFF 输入文件,您可以使用该参数指定文件所在路径。否则您需要设置如下例中所示参数。参数的详细解释您在可以在 PWMLFF 参数列表中查看。
"train": {
"model_type": "DP",
"atom_type": [
14
],
"max_neigh_num": 100,
"seed": 2023,
"data_shuffle":true,
"train_valid_ratio": 0.8,
"recover_train": true,
"model": {
"descriptor": {
"Rmax": 6.0,
"Rmin": 0.5,
"M2": 16,
"network_size": [25, 25, 25]
},
"fitting_net": {
"network_size": [50, 50, 50, 1]
}
},
"optimizer": {
"optimizer": "LKF",
"epochs": 30,
"batch_size": 4,
"print_freq": 10,
"block_size": 5120,
"kalman_lambda": 0.98,
"kalman_nue": 0.9987,
"train_energy": true,
"train_force": true,
"train_ei": false,
"train_virial": false,
"train_egroup": false,
"pre_fac_force": 2.0,
"pre_fac_etot": 1.0,
"pre_fac_ei": 1.0,
"pre_fac_virial": 1.0,
"pre_fac_egroup": 0.1
}
}
由于 PWMLFF 中设置的默认参数已经能够支持大部分的训练需求,因此,您可以简写为如下形式,将采用标准的 DP
模型 使用 LKF 优化器
训练。
"train": {
"model_type": "DP",
"atom_type": [14],
"max_neigh_num": 100
}
strategy
用于设置主动学习的不确定性度量方法,以及是否采用模型压缩做加速。
uncertainty
用于设置不确定性度量策略,当前支持多模型委员会查询方法 (committee
) 。KPU
方法我们在做探索,后续将面向用户开放。
lower_model_deiv_f
该参数用于设置偏差的下界,如果偏差值小于该下界,则认为模型对构型的预测准确,不需要标注,默认值为 0.05
。
upper_model_deiv_f
该参数用于设置偏差的上界,如果偏差值大于该上界,则该构型本身不符合物理意义,不需要标注,默认值为 0.15
。
这里使用的最大偏差值,计算公式如下所示:
,